home *** CD-ROM | disk | FTP | other *** search
Oberon Document | 1995-08-09 | 2.9 KB | 77 lines | [oODC/obnF] |
- Documents.StdDocumentDesc
- Documents.DocumentDesc
- Containers.ViewDesc
- Views.ViewDesc
- Stores.StoreDesc
- Documents.ModelDesc
- Containers.ModelDesc
- Models.ModelDesc
- Stores.ElemDesc
- TextViews.StdViewDesc
- TextViews.ViewDesc
- TextModels.StdModelDesc
- TextModels.ModelDesc
- TextModels.AttributesDesc
- Helvetica
- Helvetica
- Helvetica
- MODULE ObxTabs;
- IMPORT Views, TextModels, TextViews, TextControllers;
- CONST tab = 09X; line = 0DX;
- VAR field: ARRAY 256 OF CHAR;
- PROCEDURE ReadField (r: TextModels.Reader);
- VAR i: INTEGER; ch: CHAR;
- BEGIN (* read a field, which is a sequence of characters terminated by the end of text, or a tab or line character *)
- i := 0; r.ReadChar(ch);
- WHILE ~r.eot & (ch # tab) & (ch # line) DO
- field[i] := ch; INC(i); r.ReadChar(ch)
- END;
- field[i] := 0X
- END ReadField;
- PROCEDURE WriteField (w: TextModels.Writer);
- VAR i: INTEGER; ch: CHAR;
- BEGIN
- i := 0; ch := field[0];
- WHILE ch # 0X DO
- w.WriteChar(ch); INC(i); ch := field[i]
- END
- END WriteField;
- PROCEDURE Convert*;
- VAR c: TextControllers.Controller; t: TextModels.Model; r: TextModels.Reader;
- w: TextModels.Writer; ch: CHAR; beg, end: LONGINT;
- BEGIN
- c := TextControllers.Focus();
- IF (c # NIL) & c.HasSelection() THEN
- c.GetSelection(beg, end);
- r := c.text.NewReader(NIL); r.SetPos(beg);
- t := TextModels.Clone(c.text);
- w := t.NewWriter(NIL);
- ReadField(r); (* title *)
- WHILE ~r.eot DO
- WriteField(w); w.WriteChar(" ");
- ReadField(r); WriteField(w); w.WriteChar(" "); (* first name *)
- ReadField(r); WriteField(w); w.WriteChar(tab); (* name *)
- ReadField(r); WriteField(w); w.WriteChar(tab); (* company 1 *)
- ReadField(r); WriteField(w); w.WriteChar(tab); (* company 2 *)
- ReadField(r); WriteField(w); w.WriteChar(tab); (* address *)
- ReadField(r); WriteField(w); w.WriteChar(" "); (* ZIP *)
- ReadField(r); WriteField(w); w.WriteChar(tab); (* city *)
- ReadField(r); WriteField(w); w.WriteChar(line); (* country *)
- ReadField(r) (* title *)
- END;
- Views.OpenView(TextViews.dir.New(t))
- END
- END Convert;
- END ObxTabs.
- TextControllers.StdCtrlDesc
- TextControllers.ControllerDesc
- Containers.ControllerDesc
- Controllers.ControllerDesc
- TextRulers.StdRulerDesc
- TextRulers.RulerDesc
- TextRulers.StdStyleDesc
- TextRulers.StyleDesc
- TextRulers.AttributesDesc
- Helvetica
- Documents.ControllerDesc
-